package com.zshan.clinic.admin.entity.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zshan.clinic.database.model.MedicalFieldSupport;
import lombok.Data;

import java.util.List;

/**
 * 病历字段
 * @author lichen
 */
@Data
public class MedicalFieldVo {

    /** 字段ID */
    private Long fieldId;

    /** 字段名 */
    private String fieldName;

    /** 字段编码 */
    private String fieldCode;

    /**
     * 字段的类型  1日期2文本 fieldTypeEnum
     */
    private String fieldType;

    /** 字段范围 1.通用2西医3中医 fieldScopeEnum*/
    private String fieldScope;

    /**
     * 字段样式 FieldStyleEnum
     */
    private String fieldStyle;

    /**
     * 是否必须 yesOrNoEnum 如果是1则代表必须勾选并且不能取消
     */
    private String isRequired;

    /** 是否输入推荐;如果是需要配置值并且返回给前端 取treeList中的数据*/
    private String isRecom;

    /**
     * 是否语音输入 yesOrNoEnum 如果是1则需要显示语音录入的按钮
     *
     * */
    private String isVoice;

    /**
     * 是否上传图片 yesOrNoEnum 如果是1则需要显示上传文件的按钮，上传的文件放到fieldImages字段，多个用英文逗号隔开
     */
    private String isImage;

    /**
     * 是否脉象选择 yesOrNoEnum 如果是1则需要显示选脉象的按钮
     */
    private String isPulse;

    /**
     * 是否周期 yesOrNoEnum 如果是1则推荐值的最后一行需要显示周期，取值CycleEnum
     * */
    private String isCycle;

    /**
     * 是否默认 yesOrNoEnum 如果是1则代表必须勾选可以取消，意思就是配置模板默认加载哪些字段
     */
    private String isDefault;

    /**
     * 是否增加前缀 yesOrNoEnum 如果是1则代表需要将推荐值text拼接在前边，比如说用户点击 38.6°的时候，输入显示为：体温38.6°
     */
    private String isPrefix;

    /** 排序号 */
    private Integer sortNum;

    /**
     * 字段支持列表
     */
    @JsonIgnore
    private List<MedicalFieldSupport> supportList;

    /**
     * 字段支持列表
     */
    private List<MedicalFieldSupportTreeVo> treeList;
}
